import { sequelize } from "@/data_base/connect/index.js";
import { randomUUID } from "@/utils/index.js";
import { DataTypes } from "sequelize";

// 定义 web_tags 模型，用于与数据库中的 web_tags 表进行交互
const web_tags = sequelize.define(
    // 模型对应的数据库表名
    "web_tags",
    // 定义表的字段结构
    {
      // 表的主键字段，类型为 UUID
      // primaryKey 设为 true 表示该字段是主键
      // allowNull 设为 false 表示该字段值不能为空
      // defaultValue 使用 randomUUID 生成默认的 UUID 值
      id: {
        type: DataTypes.UUID,
        primaryKey: true,
        allowNull: false,
        defaultValue: randomUUID,
      },
      // 标签字段，用于存储标签名称
      // 类型为字符串，且该字段值不能为空
      name:{
        type: DataTypes.STRING,
        allowNull: false,
      }
    },
    // 模型的配置选项
    {
      // 禁用时间戳，Sequelize 不会自动添加 createdAt 和 updatedAt 字段
      timestamps: false,
    }
)

/**
 * 导出 web_tags 模型，供其他模块使用
 * @module web_tags
 * @type {Model}
 */
export { web_tags };